//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _CheckPatternInFastaFile_h__
#define _CheckPatternInFastaFile_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "ListFastaData.h"
#include "SearchPrositePattern.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class CheckPatternInFastaFile { 

  private:


  protected:

    String*          filenamePatterns;
    String*          filenameFasta;
    String*          filenameOut;

    TListE <String>* patterns;
    ListFastaData*   sequences;

    String*          toString;

  public:

    CheckPatternInFastaFile ();
    CheckPatternInFastaFile (const CheckPatternInFastaFile&);
    CheckPatternInFastaFile (const CheckPatternInFastaFile*);

    ~CheckPatternInFastaFile ();

    void                    FilenamePatterns (String* filenamePatterns);
    void                    FilenameFasta (String* filenameFasta);
    void                    FilenameOut (String* filenameOut);
    void                    Patterns (TListE <String>* patterns);
    void                    Sequences (ListFastaData* sequences);

    String*                 FilenamePatterns (void);
    String*                 FilenameFasta (void);
    String*                 FilenameOut (void);
    TListE <String>*        Patterns (void);
    ListFastaData*          Sequences (void);

    bool                    LoadData (void);
    
    bool                    OutSequenceWithPatterns (void);
    bool                    OutSequenceWithoutPatterns (void);

    String*                 ToString (void);
    
    CheckPatternInFastaFile operator= (const CheckPatternInFastaFile& checkPatternInFastaFile);

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
